const Generator = require("yeoman-generator")

module.exports = class extends Generator{
    // yeoman-generator自动在生成文件阶段调用此方法
    witing(){       
        // this.fs与node中的fs不一样，这里的高度封装，功能更强大 
        //参数(绝对路径，内容)
        this.fs.write(
            this.destinationPath("a.txt"),
            "MCCMAN"
        )
    }
}


/** 说明
 * 1、在命令行新建generator-work脚手架目录,并cd generator-work进入目录。固定格式 generator-<name>。
 * 2、npm init 初始化项目 package.json。
 * 3、npm i yeoman-generator 安装yeoman-generator，提供了生成器的一个基类，基类中提供一些工具函数，在创建生成其实更加便捷。
 * 4、使用vsCode打开generator-work目录，创建固定目录文件generators/app/index.js,并编辑代码。
 *      index.js作为Generator的核心入口，需要导出一个继承自yeoman-generator的类型；
 *      yeoman-generator在工作时会自动调用我们在此类中定义的一些生命周期方法，例wirting();
 *      在这些方法中可以通过调用父类提供的一些工具方法实现一些功能，如文件写入。
 * 5、在命令行使用 npm link 命令将模块链接到全局范围，使之成为一个全局模块，这样yeoman工作时就可以找到generator-work
 * 6、新建个空目录 my-proj，并进入.
 * 7、执行 yo work 即执行文件写入操作，在当前文件夹生成a.txt。
 * 
*/